/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package be.hogent.iii.project.server.berichthandlers;

import be.hogent.iii.project.common.bericht.Bericht;
import be.hogent.iii.project.common.bericht.chat.ChatBericht;
import be.hogent.iii.project.server.netwerk.Server;
import com.thoughtworks.xstream.XStream;

/**
 *
 * @author jef donders
 */
public class ServerChatBerichtHandler implements BerichtHandler {

    public ServerChatBerichtHandler(){
        
    }
    
    public void handle(Bericht bericht){
        ChatBericht gegevens = new ChatBericht();
        Class chatKlasse = gegevens.getClass();
        gegevens = (ChatBericht)chatKlasse.cast(bericht);
        //System.out.println(gegevens.getSender() + " wil een bericht versturen.");
        
        ChatBericht antwoord = new ChatBericht(gegevens.getSender(), gegevens.getMessage(), gegevens.getNaar(), gegevens.IsPrivebericht());
        XStream xStream = new XStream();
        String msg = xStream.toXML(antwoord);
        
        System.out.println(bericht.getZender() + " stuurt een bericht naar " + gegevens.getNaar());
        if(!gegevens.IsPrivebericht()) {
            Server.getServer().stuurBerichtNaarPool(gegevens.getNaar(), msg);
        }
        else {
            Server.getServer().stuurBerichtNaarClient(gegevens.getNaar(), msg);
        }
        
     }
}
